#define _CRT_SECURE_NO_WARNINGS
#include "SeqLIst.h"

//int main()
//{
//	SList sl;
//	SListInit(&sl);
//	SListDestroy(&sl);
//	SListPushFront(&sl, 1);
//	SListPrint(&sl);
//	SListPushFront(&sl, 2);
//	SListPrint(&sl);
//	SListPushFront(&sl, 3);
//	SListPrint(&sl);
//	SListPushFront(&sl, 6);
//	SListPrint(&sl);
//	SListPushBack(&sl, 4);
//	SListPrint(&sl);
//	SListPushBack(&sl, 5);
//	SListPrint(&sl);
//	SListPushBack(&sl, 7);
//	SListPrint(&sl);
//	SListPopFront(&sl);
//	SListPrint(&sl);
//
//	int pos = SListFind(&sl, 3);
//	if (pos != -1)
//		SListInsert(&sl, pos, 9);
//	SListPrint(&sl);
//	int pos1 = SListFind(&sl, 10);
//	printf("%d ", pos1);
//
//
//	//SListPopFront(&sl);
//	//SListPrint(&sl);
//	//SListPopFront(&sl);
//	//SListPrint(&sl);
//
//	//SListPopBack(&sl);
//	//SListPrint(&sl);
//	//SListPopBack(&sl);
//	//SListPrint(&sl);
//	//SListPopBack(&sl);
//	//SListPrint(&sl);
//	//SListPopBack(&sl);
//	//SListPrint(&sl);
//	//SListPopBack(&sl);
//	//SListPrint(&sl);
//
//	return 0;
//}



//void Swap(int* p1, int* p2)
//{
//	int tmp = *p1;
//	*p1 = *p2;
//	*p2 = tmp;
//}
//int removeElement(int* nums, int numsSize, int val) {
//	int prev = -1;
//	for (int cur = 0; cur < numsSize; cur++)
//	{
//		if (nums[cur] != val && nums[++prev] == val)
//		{
//			Swap(&nums[prev], &nums[cur]);
//		}
//	}
//	return prev + 1;
//}


void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
    int end = nums1Size + nums2Size - 1;
    int end1 = nums1Size - 1;
    int end2 = nums2Size - 1;
    while (end1>=0 && end2>=0)
    {
        if (nums1[end1] > nums2[end2])
        {
            nums1[end--] = nums1[end1--];
        }
        else
        {
            nums1[end--] = nums2[end2--];
        }
    }
    while (end1>=0)
    {
        nums1[end--] = nums1[end1--];
    }
    while (end2>=0)
    {
        nums1[end--] = nums2[end2--];
    }
}

int main()
{
    int arr1[] = { 1,2,3,0,0,0 };
    int arr2[] = { 2,5,6 };
    merge(arr1, 3, 3, arr2, 3, 3);
	return 0;
}